package cn.jsj.dao;

import java.util.List;

import org.hibernate.criterion.Restrictions;

import cn.jsj.pojo.TblUtils;

/**
 * 工具表处理类
 * @author LI
 *
 */
public class TblUtilsDAO {

	/**
	 * 根据职位编号获得职位名
	 * @param positionNumb:职位编号
	 * @return：职位名
	 */
	public String getPositionName(int positionNumb){
		// 取得session对象
		org.hibernate.Session session = HBUtils.getSession();
		// 新建事务对象
		org.hibernate.Transaction tx = session.beginTransaction();
		// 开始事务
		tx.begin();
		String hql="select catalogName from TblUtils where teamId=? and serialNumber=?";
		List result=session.createQuery(hql)
					.setInteger(0, 4)
					.setInteger(1, positionNumb)
					.list();
		// 提交事务
		tx.commit();
		session.close();
		if(result.size()!=0){
		String name=(String)result.get(0);
		return name ;
		}else{
			return "";
		}
	}


	/**
	 * 根据职位名获得职位编号
	 * @param positionName:职位名
	 * @return：职位编号
	 */
	public int getPositionNumber(String positionName){
		// 取得session对象
		org.hibernate.Session session = HBUtils.getSession();
		// 新建事务对象
		org.hibernate.Transaction tx = session.beginTransaction();
		// 开始事务
		tx.begin();
		//
		String hql="select serialNumber from TblUtils where teamId=? and catalogName=?";
		List result=session.createQuery(hql)
					.setInteger(0, 4)
					.setString(1, positionName)
					.list();
		// 提交事务
		tx.commit();
		session.close();
		if(result.size()!=0){
		int number=(Integer)result.get(0);
		return number;
		}else{
			return 0;
		}
	}


	/**
	 * 根据案件类别编号获得案件类别
	 * @param caseTypeNumber：案件类别编号
	 * @return：案件类别
	 */
	public String getCaseType(int caseTypeNumber){
		// 取得session对象
		org.hibernate.Session session = HBUtils.getSession();
		// 新建事务对象
		org.hibernate.Transaction tx = session.beginTransaction();
		// 开始事务
		tx.begin();
		//
		List result=session.createCriteria(TblUtils.class).add(
				Restrictions.eq("teamId",2))
				.add(Restrictions.eq("serialNumber", caseTypeNumber))
				.list();
		// 提交事务
		tx.commit();
		session.close();
		//获得权限对象
		TblUtils tu=(TblUtils)result.get(0);
		return tu.getCatalogName();
	}


	/**
	 * 根据案件类别获得案件类别编号
	 * @param caseType：案件类别
	 * @return：案件类别编号
	 */
	public int getCaseTypeNumb(String caseType){
		// 取得session对象
		org.hibernate.Session session = HBUtils.getSession();
		// 新建事务对象
		org.hibernate.Transaction tx = session.beginTransaction();
		// 开始事务
		tx.begin();
		//
		List result=session.createCriteria(TblUtils.class).add(
				Restrictions.eq("teamId",2))
				.add(Restrictions.eq("catalogName", caseType))
				.list();
		// 提交事务
		tx.commit();
		session.close();
		//获得权限对象
		TblUtils tu=(TblUtils)result.get(0);
		return tu.getSerialNumber();
	}



	/**
	 * 根据案件性质编号获得案件性质
	 * @param casePropertyNumber：案件性质编号
	 * @return：案件性质
	 */
	public String getCaseProperty(int casePropertyNumber){
		// 取得session对象
		org.hibernate.Session session = HBUtils.getSession();
		// 新建事务对象
		org.hibernate.Transaction tx = session.beginTransaction();
		// 开始事务
		tx.begin();
		//
		List result=session.createCriteria(TblUtils.class).add(
				Restrictions.eq("teamId",3))
				.add(Restrictions.eq("serialNumber", casePropertyNumber))
				.list();
		// 提交事务
		tx.commit();
		session.close();
		//获得权限对象
		TblUtils tu=(TblUtils)result.get(0);
		return tu.getCatalogName();
	}


	/**
	 * 根据案件性质获得案件性质编号
	 * @param caseProperty：案件性质
	 * @return：案件性质编号
	 */
	public int getCasePropertyNumb(String caseProperty){
		// 取得session对象
		org.hibernate.Session session = HBUtils.getSession();
		// 新建事务对象
		org.hibernate.Transaction tx = session.beginTransaction();
		// 开始事务
		tx.begin();
		//
		List result=session.createCriteria(TblUtils.class).add(
				Restrictions.eq("teamId",3))
				.add(Restrictions.eq("catalogName", caseProperty))
				.list();
		// 提交事务
		tx.commit();
		session.close();
		//获得权限对象
		TblUtils tu=(TblUtils)result.get(0);
		return tu.getSerialNumber();
	}

}